<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./src/assets/reset.min.css">
    <style>
        /* 
            实现REM响应式布局开发的步骤
                1. 找参照的比例(例如设计稿的比例 -> 一般都是750px)，在这个比例下，给予html.fontSize一个初始值
                    html{
                        font-size:100px;
                        //750px 的设计稿中，1REM=100px
                        //未来我们需要把设计稿中测量出来的尺寸(PX单位)转换为REM单位去设置样式
                    }
                2. 我们需要根据当前设备的宽度，计算相对于设计稿750来讲，缩放的比例；从而让REM的转换比例，也跟着缩放[REM和PX的换算比例一改，则所有之前以REM为单位的样式也会跟着缩放];
                3. 我们一般还会给页面设置最大宽度[750px]，超过这个宽度，不再让 REM 比例继续变大了；内容居中，左右两边空出来即可
        */
        html {
            font-size: 100px;
        }
        html,body{
            height: 100%;
            background: #F4F4F4;
        }
        #root{
            margin: 0 auto;
            max-width: 750px;
            height: 100%;
            background: #FFF;
        }
        .box {
            width: 3.28rem;
            height: 1.64rem;
            line-height: 1.64rem;
            text-align: center;
            background: lightblue;
        }
    </style>
    <script>
        /* 计算当前设备下，REM 和 PX的换算比例 */
        (function () {
            const computed = () => {
                //获取设备宽度
                let html = document.documentElement,
                    deviceW = html.clientWidth,
                    designW = 750;
                if(deviceW >= designW){
                    html.style.fontSize = 100 + 'px';    
                    return;
                }
                // 750/100 = deviceW/？
                let ratio = 100 * deviceW / designW;
                html.style.fontSize = ratio + 'px';
            }
            computed();
            window.addEventListener('resize', computed)
        })()
    </script>
</head>

<body>
    <div id="root">
        <div class="box">
            珠峰培训
        </div>
    </div>

</body>

</html>